#include <iostream>
#include <vector>
using namespace std;

bool dp[10003];
bool canJump(vector<int>& nums) {
    int n = nums.size();
    dp[n-1] = 1;
    for(int i=n-2;i>=0;--i){
        for(int j=0;j<=nums[i];++j){
            if(i+j < n && dp[i+j]){
                dp[i] = 1;
                break;
            }
        }
    }
    return dp[0];
}